home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-07-19 | 1.3 KB | 63 lines | [TEXT/CWIE] |
- //Copyright (c) 1997 Aidan Cully
- //All rights reserved
-
- #include "CLControl.h"
- #include "CLMouseHandler.h"
- #include "CLBaseWindow.h"
-
- TControl::TControl( TLayoutBranch *super ):
- TLayoutLeaf( super )
- {
- }
-
- Boolean TControl::HandleMouseSelf( TMouseButtonEvent *event )
- {
- Rect contentRect;
- Boolean prevIn;
- EventRecord ev;
-
- if( event->button ) {
- mWindow->GetDrawFocus();
- contentRect = GetRect();
- prevIn= PtInRect( event->where, &contentRect );
- if( prevIn )
- TrackMouseDown( event );
- do {
- ::WaitNextEvent( 1|mDownMask|mUpMask, &ev, 0, 0 );
- event->where= ev.where;
- mWindow->GlobalToLocal( &event->where );
- event->when= ev.when;
- if( ev.what!= mouseUp ) {
- if( PtInRect( event->where, &contentRect ) != prevIn ) {
- prevIn = !prevIn;
- TrackMouseChange( event, prevIn );
- }
- if( prevIn )
- TrackMouseWithin( event );
- }
- } while( ev.what!= mouseUp );
- if( PtInRect( event->where, &contentRect ) )
- TrackMouseUp( event );
- else if( prevIn )
- TrackMouseChange( event, !prevIn );
- mWindow->ReleaseDrawFocus();
- return( true );
- }
- return( false );
- }
-
- void TControl::TrackMouseChange( TMouseEvent *event, Boolean inside )
- {
- }
-
- void TControl::TrackMouseWithin( TMouseEvent *event )
- {
- }
-
- void TControl::TrackMouseUp( TMouseEvent *event )
- {
- }
-
- void TControl::TrackMouseDown( TMouseEvent *event )
- {
- }